// File: jmcomic-core/src/main/java/dev/jukomu/jmcomic/entity/JmBaseEntity.java
package dev.jukomu.jmcomic.entity;

import dev.jukomu.common.base.packer.PackerUtils;

import java.io.IOException;

/**
 * 对应Python的JmBaseEntity，所有禁漫实体类的基类。
 */
public abstract class JmBaseEntity {

    /**
     * 将当前实体序列化到指定文件路径。
     *
     * @param filepath 文件路径
     * @throws IOException 如果序列化失败
     */
    public void toFile(String filepath) throws IOException {
        PackerUtils.pack(this, filepath);
    }

    /**
     * 判断当前实体是否是图片类型。
     *
     * @return 如果是图片返回 true
     */
    public boolean isImage() {
        return false;
    }

    /**
     * 判断当前实体是否是章节类型。
     *
     * @return 如果是章节返回 true
     */
    public boolean isPhoto() {
        return false;
    }

    /**
     * 判断当前实体是否是本子类型。
     *
     * @return 如果是本子返回 true
     */
    public boolean isAlbum() {
        return false;
    }

    /**
     * 判断当前实体是否是分页类型。
     *
     * @return 如果是分页返回 true
     */
    public boolean isPage() {
        return false;
    }
}